home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / m2gem106.lzh / CRYSTAL1.06 / SRC / CRYSTAL / APPLMGR.DEF < prev    next >
Encoding:
Modula Definition  |  1993-07-25  |  4.1 KB  |  149 lines

  1. DEFINITION MODULE ApplMgr;
  2.  
  3. (*
  4. AES Application Manager.
  5.  
  6. UK __DATE__ __TIME__
  7. *)
  8.  
  9. (*DEF_SWITCHES*)
  10.  
  11. FROM PORTAB IMPORT ANYBYTE,ANYWORD,SIGNEDWORD,UNSIGNEDWORD,ANYTYPE,
  12.                    ANYPOINTER,WORDSET,UNSIGNEDLONG;
  13. FROM RcMgr  IMPORT GPnt;
  14.  
  15. IMPORT AES;
  16.  
  17. #if export
  18. EXPORT QUALIFIED ApplInit,ScrMgr,ApplRead,ApplWrite,ApplFind,
  19.                  ScanWord,Key,SpecialKey,RecordEvents,EventRecord,MaxEvent,
  20.                  EventTape,TapePtr,ApplTPlay,ApplTRecord,
  21.                  ApplBVSet,ApplYield,
  22.                  ApSFirst,ApSNext,ApSShel,ApKSys,ApKApp,ApKAcc,ApplSearch,
  23.                  ApplExit,applinit,applexit;
  24. #endif
  25.  
  26. (* [Appl]ication Manager: [Init]ialize Application, AES(10) ****************)
  27.  
  28. VAR ApplInit: PROCEDURE(): SIGNEDWORD;
  29.  
  30. (* [Appl]ication Manager: [Read] From Application, AES(11) *****************)
  31.  
  32. CONST ScrMgr = 1; (* ID of the screen manager *)
  33.  
  34. PROCEDURE ApplRead(    Id     : SIGNEDWORD;
  35.                        Length : UNSIGNEDWORD;
  36.                    VAR PBuffer: ARRAY OF ANYTYPE): BOOLEAN;
  37.  
  38. (* [Appl]ication Manager: [Write] TO Application, AES(12) ******************)
  39.  
  40. PROCEDURE ApplWrite(    Id     : SIGNEDWORD;
  41.                         Length : UNSIGNEDWORD;
  42.                     VAR PBuffer: ARRAY OF ANYTYPE);
  43.  
  44. (* [Appl]ication Manager: [Find] Application, AES(13) **********************)
  45.  
  46. PROCEDURE ApplFind(PName: ANYPOINTER): SIGNEDWORD;
  47.  
  48. (* [Appl]ication Manager: [Play] Event [T]ape, AES(14) *********************)
  49.  
  50. TYPE ScanWord = AES.ScanWord;
  51.  
  52.      Key = AES.Key;
  53.  
  54.      SpecialKey = AES.SpecialKey;
  55.  
  56.      RecordEvents = (EvTimer,EvButton,EvMouse,EvKeybd);
  57.  
  58.      EventRecord = RECORD
  59. #if ST
  60.                      Resvd: ANYWORD;
  61. #endif
  62.  
  63. #if linear
  64. #if fill_byte
  65.                      FillByte1: ANYBYTE;
  66. #endif
  67. #endif
  68.                      Type : RecordEvents;
  69. #if intel
  70. #if fill_byte
  71.                      FillByte1: ANYBYTE;
  72. #endif
  73. #endif
  74.                      Info : RECORD
  75.                               CASE: RecordEvents OF
  76.                                 EvTimer:
  77.                                   Time: UNSIGNEDLONG;
  78.                               | EvButton:
  79.                                   Clicks: UNSIGNEDWORD;
  80. #if linear
  81. #if fill_byte
  82.                                   FillByte2: ANYBYTE;
  83. #endif
  84. #endif
  85.                                   State: BOOLEAN;
  86. #if intel
  87. #if fill_byte
  88.                                   FillByte2: ANYBYTE;
  89. #endif
  90. #endif
  91.                               | EvMouse:
  92.                                   Position: GPnt;
  93.                               | EvKeybd:
  94.                                   Special: SpecialKey;
  95.                                   Input  : Key;
  96.                               END;
  97.                             END;
  98.                    END;
  99.  
  100. CONST MaxEvent = 4095;
  101.  
  102. TYPE EventTape = [0..(MaxEvent  - 1)];
  103.      TapePtr = POINTER TO ARRAY EventTape OF EventRecord;
  104.  
  105. PROCEDURE ApplTPlay(PTape : TapePtr;
  106.                     Length: EventTape;
  107.                     Scale : UNSIGNEDWORD);
  108.  
  109. (* [Appl]ication Manager: [Record] Event [T]ape, AES(15) *******************)
  110.  
  111. PROCEDURE ApplTRecord(PTape : TapePtr;
  112.                       Length: EventTape): EventTape;
  113.  
  114. (* [Appl]ication Manager: [Set] Drive [B]it [V]ectors, AES(16) *************)
  115.  
  116. PROCEDURE ApplBVSet(BVDisk: WORDSET;
  117.                     BVHard: WORDSET);
  118.  
  119. (* [Appl]ication Manager: [Yield] Application, AES(17) *********************)
  120.  
  121. PROCEDURE ApplYield;
  122.  
  123. (* [Appl]ication Manager: [Search] Application, AES(18) ********************)
  124.  
  125. CONST ApSFirst = 0;
  126.       ApSNext  = 1;
  127.       ApSShel  = 2;
  128.  
  129. CONST ApKSys = 01H;
  130.       ApKApp = 02H;
  131.       ApKAcc = 04H;
  132.  
  133. PROCEDURE ApplSearch(    Mode: UNSIGNEDWORD;
  134.                      VAR Name: ARRAY OF CHAR;
  135.                      VAR Type: UNSIGNEDWORD;
  136.                      VAR Id  : UNSIGNEDWORD): BOOLEAN;
  137.  
  138. (* [Appl]ication Manager: [Exit] Application, AES(19) **********************)
  139.  
  140. VAR ApplExit: PROCEDURE();
  141.  
  142. (***************************************************************************)
  143.  
  144. PROCEDURE applinit(): SIGNEDWORD;
  145.  
  146. PROCEDURE applexit;
  147.  
  148. END ApplMgr.
  149.